home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
64'er Special 32
/
64er_Magazin_Sonderheft_32_19xx_Markt__Technik_de_Side_B.d64
/
geocheck teil 2
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2022-10-26
|
4KB
|
150 lines
100 rem *** geocheck - pt 2 ***
105 rem *** florian mueller ***
110 rem
115 rem based on the program "geos file-analyzer" (c=-buch "alles ueber geos")
120 :
125 :
130 clr:for f=49152 to 49189:read x:pokef,x:next
135 sys 49152
140 data 169 ,11, 160, 192, 141, 38, 3, 140, 39
145 data3, 96, 201, 65, 144
150 data9,201,91,176,5,73 ,32, 76, 202, 241,201,97,144,249,201,123,176,245
155 data73,32,76,202,241,255
160 print"":c$=" ":forf=1to6:c$=c$+c$:next
165 ss$=chr$(160):forf=1to4:ss$=ss$+ss$:next
170 m$="geos "+chr$(102)+chr$(111)+chr$(114)+chr$(109)+chr$(97)+chr$(116)+" v1.0"
175 dimd$(150),t$(150),s$(150),ds(150),db(150),fd$(7),fs$(1),fg$(14),ib$(256)
180 dimr$(20)
185 for f=0 to 7:read fd$(f):next
190 data del,seq,prg,usr,rel,???,???,???
195 fs$(0)="sequentiell":fs$(1)="vlir"
200 for f=0 to 14:read fg$(f):next
205 data "c= prg","basic-programm",assemblerprog.,reine daten,systemdatei
210 data hilfsprogramm,anwendung,dokument,schriftart,druckertreiber
215 data eingabetreiber,disk-treiber,startprogramm,temporaer,selbstausfuehrend
220 goto 325
225 rem sub
230 poke806,202:poke807,241:return
235 ds=1:p=1:open1,8,15:open2,8,2,"#"
240 print#1,"u1 2 0 18";ds
245 get#2,nt$:get#2,ns$:nt$=nt$+chr$(0)
250 fori=0to7:if p>1 then print"";p-1
255 print#1,"b-p 2";i*32+2
260 get#2,ty$:ty$=ty$+chr$(0):ifty$=chr$(0)orty$=chr$(128)then280
265 print#1,"b-p 2";i*32+5
270 forj=1to16:get#2,a$:d$(p)=d$(p)+a$:next:ds(p)=ds:db(p)=i*32
275 get#2,t$:get#2,s$:t$(p)=t$+chr$(0):s$(p)=s$+chr$(0):p=p+1
280 next:ifp>149then290
285 ifnt$<>chr$(0)thends=asc(ns$):goto240
290 close2:close1:p=p-1:return
295 open1,8,15:open2,8,2,"#"
300 print#1,"u1 2 0 18 0"
305 print#1,"b-p 2 173":i$=""
310 fori=1to16:get#2,a$:i$=i$+a$:next
315 close2:close1:return
320 :
325 rem *** hauptprogramm ***
330 :
335 print"[147]geo[195]heck teil 2 (check scrap erstellen)[146]"
340 print:print" von [198]lorian [205]ueller ([205]arkt & [212]echnik)"
345 print" autor von 'c64 - alles ueber geos 1.2' und 'c64 - geos 1.3 deutsch'
350 [153]" peekitte eine chr$val(NULL)(NULL)-str$iskette einlegen und <(NULL)val(NULL)(NULL)(NULL)(NULL)> druecken"
355 [151]53296,0:[151]53265,27
360 [161]a$:[139]a$[179][177][199](13)[167]360
365 [141]225:[141]295:[139]i$[179][177]m$[167] 350
370 [153]"load str$irectory wird gelesen. wait"
375 [153]" _ atnnzahl der gelesenen ascileeintraege"
380 [141]235:o[178]1
385 :
390 :
395 [153]"load ascile zur peekearbeitung auswaehlen "
400 [153]" str$isk enthaelt ";p;"cmd wait ascile";:[139][181](p)[179][177]1[167][153]"s";
405 [153]"."
410 [153]" len(NULL)(NULL)(NULL)(NULL)(NULL) (NULL)(NULL)wait 1 ascile zurueck":[153]" len(NULL)(NULL)(NULL)(NULL)(NULL) str$(NULL)(NULL)(NULL)wait 1 ascile vor"
415 [153]" (NULL)val(NULL)(NULL)(NULL)(NULL)wait ascile nehmen":[153]" asc1wait (NULL)eue str$iskette"
420 [158]49152:[153]"";c$:[153]"onascile #";o;": ";d$(o)
425 [161]a$:[139]a$[178]""[167]425
430 [139]a$[178]"on"[167]o[178]o[171]1:[139]o[178]0[167]o[178]p
435 [139]a$[178]""[167]o[178]o[170]1:[139]o[177]p[167]o[178]1
440 [139]a$[178]"input"[167][138]135
445 [139]a$[179][177][199](13)[167]420
450 [139]t$(o)[179][177][199](0)[167][153]:[153]:[153]:[137]480
455 [153]"load(NULL)ein chr$val(NULL)(NULL)-ascile !"
460 [153]
465 [153]"<(NULL)val(NULL)(NULL)(NULL)(NULL)>"
470 [161]a$:[139]a$[179][177][199](13)[167]470
475 [137] 395
480 :
485 n$[178]"":i[178]1
490 [139] [202](d$(o),i,1)[178][199](160) [167] 500
495 n$[178]n$[170][202](d$(o),i,1):i[178]i[170]1:[139] i[179][178]16 [167] 490
500 fe$[178]"":[141]225
505 [159] 1,8,15,"i":[159] 2,8,2,"#"
510 [152]1,"u1 2 0 18";ds(o)
515 [152]1,"b-p 2";db(o)
520 [129] f[178]1 [164] 32
525 :[161]#2,a$:[139] a$[178]"" [167] a$[178][199](0)
530 :fe$[178]fe$[170]a$
535 [130]
540 [160]1:[160]2
545 it[178][198]([202](fe$,22,1)[170][199](0))
550 is[178][198]([202](fe$,23,1)[170][199](0))
555 fg[178][198]([202](fe$,25,1)[170][199](0))
560 dy[178][198]([202](fe$,26,1)[170][199](0))
565 dm[178][198]([202](fe$,27,1)[170][199](0))
570 dd[178][198]([202](fe$,28,1)[170][199](0))
575 dh[178][198]([202](fe$,29,1)[170][199](0))
580 mi[178][198]([202](fe$,30,1)[170][199](0))
585 [153] "fileeintrag #";o
590 [153] "fileeintrag auf spur 18/block";ds(o)
595 [153] "info-block auf spur";it;"/sektor";is
600 [153] "geos-filetyp: ";
605 [139] fg[177]14 [167] [153] "fuehrt zu absturz";
610 [139] fg[179][178]14 [167] [153] fg$(fg);
615 [153] " (";fg;")"
620 [153] "datum der letzten modifikation:"
625 [153] [201]([196](dd[170]100),2);".";[201]([196](dm[170]100),2);".";dy[170]1900;
630 [153] " ";[201]([196](dh[170]100),2);".";[201]([196](mi[170]100),2)
635 [141]225
640 [153]:[153]:[153]"nun wird der info-block eingelesen.":[153]
645 :
650 [159] 1,8,15,"i":[159] 2,8,2,"#"
655 [152]1,"u1 2 0";it;is
660 [152]1,"b-p 2 0"
665 :
670 [129] f[178]1 [164] 256
675 [161]#2,a$:[139] a$[178]"" [167] a$[178][199](0)
680 ib$(f)[178]a$
685 [130]
690 :
695 [160]1:[160]2
700 :
701 [159]1,8,0,d$(o)[170]",p,r":[161] #1,b1$,b2$:[160]1
702 [139] b1$[178]"" [167] b1$[178][199](0)
703 [139] b2$[178]"" [167] b2$[178][199](0)
704 [153]"byte #1:"[198](b1$):[153]"byte #2:"[198](b2$)
705 [143] *** info-block steht jetzt ***
710 [143] *** im array ib$() ***
715 :
720 :
725 [143] *** ablegen der eingelesenen
730 [143] *** daten in einem check scrap
735 :
740 [153]"peekitte nun eine (NULL)ieldiskette fuer das"
745 [153]"geolenheck-ascile einlegen. str$iese str$iskette"
750 [153]"muss nicht das chr$val(NULL)(NULL)-ascormat aufweisen."
755 :
760 [153]"<shift>"
765 [151]653,0:[146]653,1
770 [159]1,8,15,"s:check scrap"
775 [132]1,a,a$,b,c:[153]"disk:"a;a$;b;c
780 [160]1:[139] a[177]19 [167] [144]
785 [160]1:[159]2,8,2,"check scrap,p,w"
790 [152]2,[199](fg)[199](dy)[199](dm)[199](dd)[199](dh)[199](mi);
791 [139] b1$[178]"" [167] b1$[178][199](0)
792 [139] b2$[178]"" [167] b2$[178][199](0)
793 [152]2,b1$;b2$;
795 [129] f[178]1 [164] 256:[152]2,ib$(f);:[130]
800 [160]2
805 [153]"schreibvorgang abgeschlossen.":[141]225:[128]